home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
bootup
/
boot_n2z
/
winx23g
/
whatsnew.txt
< prev
next >
Wrap
Text File
|
1995-05-02
|
12KB
|
291 lines
5.4.1994: WINX 2.3g BETA
- Programmierung: WindowShade-Nachrichten
WINX verschickt jetzt eine WM_SHADED-Nachricht, wenn ein Fenster ein-
geklappt wird, bzw. eine WM_UNSHADED-Nachricht beim Ausklappen.
Diese Nachrichten sind zu behandeln wie WM_ONTOP und WM_UNTOPPED,
d.h. sie informieren nur über einen Zustand, der sich zum Zeit-
punkt des Eintreffens der Nachricht schon wieder geändert haben kann.
#define WM_SHADED 22360 /* [WM_SHADED apid 0 win 0 0 0 0] */
#define WM_UNSHADED 22361 /* [WM_UNSHADED apid 0 win 0 0 0 0] */
Sinnvoll wäre es jetzt noch ein Bit der wind_get/set-Subfunktion
WF_BEVENT zum Abfragen und Ändern des Shadezustands zu benutzen.
Wer unternimmt einen Vorsto₧ bei ATARI? (Ich bring's nicht mehr :-(
- WINX-Schalter G14: Mauszeiger während Echtzeitfunktionen umschalten
Da einige VDI-Treiber Probleme mit dem Vorgehen des AES beim
Sichern und Restaurieren der Mausform haben, kann man das
Umschalten der Mausform jetzt abschalten.
- GEM-Desktop: Negative Fensterkoordinaten
Das GEM-Desktop speichert die Fensterkoordinaten als vorzeichenlosen
Bytewert im Shellbuffer. Fenster, die links aus dem Bildschirm ge-
schoben werden, erschienen daher bisher beim Laden des Shellbuffers
am rechten Bildschirmrand. WINX bildet jetzt beim Speichern neg.
Koordinaten auf 0 ab. Dies Lösung ist nicht perfekt, vermeidet
jedoch Kompatibilitätsprobleme.
(reported by Henry Rolofs @ KR)
27.03.1994: WINX 2.3f BETA
- Restaurierung der letzten Version
- Interna: WindowShade
Das automatische Entshaden beim Klick auf den Fuller führte in
einigen Situationen dazu, da₧ der SCRENMGR das Loslassen des
Mausknopfs nicht mehr mitbekam.
16.1.1994: WINX 2.3e BETA
- Programmierung: appl_getinfo()-Test
Da einige Programmiersprachen bei einer logischen Verknüpfung immer
beide Teilausdrücke auswerten, mu₧ der Test dort anders formuliert
werden, da appl_find( "?AGI") nur aufgerufen werden darf, wenn das
Programm nicht sicher wei₧, da₧ agi() implementiert ist.
has_appl_getinfo = TRUE;
if (aesversion < 0x400) {
if (appl_find( "?AGI") != 0) {
has_appl_getinfo = FALSE;
}
}
if (has_appl_getinfo) {
/* appl_getinfo() kann aufgerufen werden */
};
- Interna: Abfangen des GEMDOS-Traps
In der 2.3d wurde bei Pexec() vergessen das Register D7 zu retten.
Also schnell in die Tonne damit...
- Konfiguration: GEM-Patch
Die WINX-Defaultwerte zum Patchen eines GEMs können jetzt aus einer
WINX.INF-Datei geladen werden (damit ist es nicht mehr notwendig
WINX selbst zu patchen).
10.1.1994: WINX 2.3d BETA
- Konfiguration: Grö₧e der Rahmenelemente
Die Grö₧e eines Kontrollelements, wie dem Closer, entsprach bisher der
einer quadratischen Zeichenzelle (entsprechend den wbox-/hbox-Rück-
gabewerten von graf_handle). WINX erlaubt es die Grö₧e zu konfigurieren.
Hierzu fügt man ein Zeile folgenden Formats in WINX.INF ein:
.GADGET=addw,addh # mit addw/addh >= 0
Die Grö₧e eines Kontrollelements bestimmt sich dann aus der Grö₧e
einer Zeichenzelle (entsprechend den wchar-/hchar-Rückgabewerten von
graf_handle) plus dem angegebenen Breiten- bzw. Höhenwert. Da die
Zeichen in der Regel rechts einen wei₧e Pixelspalte haben, benutzt
man am besten einen ungeraden Breitenwert. Z.B. benutze ich:
.GADGET=3,0
- Interna: WindowShade
Wurde ein 'geshadetes' Fenster geschlossen, dann wurden unnötiger-
weise Redraws für den kompletten Fensterbereich versandt
(reported by Martin Köhling @ UN)
- Interna: Bug-Fix
In der Behandlung der Buttonereignisse gab es seit WINX 2.1 einen
Bug (warum hat das nur keiner bemerkt?). War ein ACC-Fenster ganz
vorne und die Hauptapplikation übernahm die Mauskontrolle (weil
man z.B. ein Icon auf dem Desktop verschieben wollte), dann bekam
das ACC danach temporär keine Mausklicks mehr gemeldet.
(reported by Annius.Groenink@let.ruu.nl)
20.12.1993: WINX 2.3c BETA
- GEM 3.x Bedienung: WindowShade
Beim Klick auf den Fuller wird das Fenster automatisch entSHADEt.
- Programmierung: appl_getinfo()-Test
Andreas Kromke und ich haben uns auf eine einheitliche Möglichkeit
geeinigt, wie Programme die Anwesenheit von appl_getinfo() bei
GEM-Versionen < 4.00 erfragen können. Falls jemand ernsthafte
Einwände hat, dann möge er sie bald äu₧ern.
if ((aesversion >= 0x400) || (appl_find( "?AGI") == 0)) {
/* appl_getinfo() kann aufgerufen werden */
};
Jedes Programm, das appl_getinfo() implementiert bzw. erweitert,
sollte bei appl_find( "?AGI") den Wert 0 liefern.
- Interna:
Das Flag für die zusätzliche Zeile von in Desktopfenstern wurde
unter bestimmten Umständen nicht korrekt initialisiert.
- GEM 3.x Desktop: Horizontaler Scrollbalken
Brachte man ein Dateifenster auf maximale Grö₧e, gab es Müll beim
Scrollen. Aus irgendeinem Grund hatte der Autor des Desktops die
Ausgabe auf eine bestimmte Höhe beschnitten.
- Interna:
Der GEMDOS-Vektor wurde in 2.3b nicht umgehängt, weil ich vergessen
hatte eine Versionsnummer zu ändern.
- Interna:
WF_WINXCFG lieferte unter TOS 1.x nicht die korrekte Schaltermaske,
dadurch waren z.B. die Scrollboxen sichtbar, obwohl sie nicht zu
bedienen waren (altes Problem, endlich behoben)
- Interna:
Wegen eines Fehlers ... (2.Versuch :-)
11.12.1993: WINX 2.3b BETA
- Interna:
Wegen eines Fehlers in verschiedenen HiSoft-Programme verändert WINX
bei wind_get( 0, WF_TOP, &topwin, &topowner, &belowwin, &ign) den
Wert von <ign> nicht mehr. Eventuell fliegt das aber wieder raus.
- Programmierung: WF_STACK
wind_set( win, WF_STACK, abovewin, 0, 0, 0)
Stellt das Fenster <win> im Fensterstapel hinter das Fenster <abovewin>.
Ist <win> geschlossen, wird der Positionierungswunsch gespeichert und
beim Öffnen des Fensters mit wind_open() berücksichtigt.
Diese Funktion ist im Experimentierstadium (in der Hoffnung, da₧
ATARI soetwas ähnliches implementiert). Der Funktionscode von WF_STACK
entspricht momentan dem von WF_OWNER (welches keinen set-Modus hat).
Kommentare zu WF_STACK sind erwünscht.
Nebeneffekt der Implementierung: Das Redrawhandling bei BOTTOM wurde
besser.
- GEM 3.x Bedienung: WindowShade
Klickt man mit der RECHTEN Maustaste in die Titelzeile eines Fensters,
dann wird der untere Teil des Fensters unsichtbar. Ein weiterer Klick
hebt diesen Modus wieder auf. Dies ist auch ein guter Härtetest, ob
Programme die Rechteckliste immer korrekt beachten.
- GEM 3.x Bedienung:
Ein Doppelklick auf die Titelzeile entspricht einem Klick auf das
Maximalgrö₧enelement (Fuller). Ich mag es nicht, aber ATARI (oder
auch Windows) hat recht :-). Schaltet man die rechte Taste aus,
dann wird die Funktion allerdings von der Doppelklickbehandlung
von WINX ueberdeckt. Eventuell gibt es für das Doppelklickfullen
noch einen globalen Schalter. In diesem Fall hat die Funktion
höherer Priorität.
- GEM 3.x Desktop:
Ist der Schalter L2 (minimale Anzahl von Rahmenelementen) für das
Desktop eingeschaltet, dann ist der Menüpunkt 'einpassen' immer aktiv
und die Fenster haben keinen horizontalen Scrollbalken mehr (da man
ihn dann sowieso nicht benutzen konnte). Vorteil: Eine Zeile mehr
im Fenster.
- GEM 3.x Bedienung: Scrollboxen
Der Mauspfeil mu₧ nur noch halbsoweit ausgelenkt werden um eine
entsprechenden Erhöhung des Geschwindigkeitsfaktors zu erhalten.
- Bedienung: Scrollgeschwindigkeit
Der Defaultwert für die Wiederholrate beim Scrollen wurde auf 0
gesetzt, da ich es leid war immer wieder erklären zu müssen, warum
manche Programme unter WINX langsamer scrollen.
- Interna: Bug in TOS 1.04
Übernahm eine Applikation die Mauskontrolle während des Scrollens,
dann erhielt sie ab der zweiten Scrollnachricht auch den Mausklick
gemeldet.
29.10.1993: WINX 2.3a BETA
- Ist bei wind_delete() das Fenster noch offen, dann wird es vorher
aus dem Fensterstapel entfernt. Z.B. ist PC abgestürzt, wenn es
auf diese Weise noch offene Fenster einer aus PC gestarteten
Applikation aufräumen wollte. ACHTUNG: Das Fenster wird aus
Geschwindigkeitsgründen nicht mit wind_close() geschlossen.
- menu_attach() im Falcon-TOS 4.01-4.04 führte zum Absturz, falls man
ein einmal eingetragenes Submenu abfragen, ändern oder löschen wollte.
WINX behebt diesen Fehler.
17.10.1993: WINX 2.2
- Die .LOCAL-Zeile in WINX.INF wurde abgeschafft. Lokale Schalter
eines Programms, die nicht direkt in der Schalterliste des Namens-
musters gefunden werden, welches auf den Programmnamen pa₧t, werden
jetzt nicht mehr aus der .LOCAL-Zeile, sondern aus der Zeile mit
dem Namensmuster "*" gesetzt. Damit ist das ganze zwar nicht mehr
so flexibel, dafür aber hoffentlich verständlicher (oder auch nicht).
8.10.1993: WINX 2.2e BETA
- Das mit dem Cookie hat wohl nicht funktioniert. Dumm, wenn man
etwas nicht selbst testen kann. Hoffen wir, da₧ es jetzt klappt.
6.10.1993: WINX 2.2d BETA
- WINX legt den WINX-Cookie jetzt auch an, falls das GEM bereits
mit dieser WINX-Version gepatcht wurde (z.B. wenn man mit ROMRAM
sein TOS resident im RAM installierte). WINXCOOK wird damit mehr
oder weniger überflüssig, wenn man nicht auf den Speicherplatz
auf dem Bootdrive achten mu₧.
- Das FULL-Rechteck sollte jetzt wieder korrekt bei wind_create()
übernommen werden
26.9.1993: WINX 2.2c BETA
- Funktionshandler erweitert um eine Funktion, die es erlaubt die
Bildschirmgrö₧e nachträglich zu ändern (für den Support von WINX
durch AutoSwitch-OverScan und Konsorten)
#define WFC_SETSCR 12
(winxfunc( WFC_SETSCR, newscrw, newscrh) == 0) => SUCCESS
- Patch für 'Phantom Typist' Problem (TOS >= 1.06). Da sich der Fehler
nicht gezielt reproduzieren lä₧t, ist es aber nicht sicher, ob der
Patch die Lösung bringt. Schaden tut er jedenfalls nicht ;-)
- Fehlte die WINX.INF-Datei erschien eine fehlerhafte Meldung
20.9.1993: WINX 2.2b BETA
- Die Defaultwerte von WINX können über die folgenden Patchvariablen
direkt in die Datei gepatcht werden.
typedef struct {
char prefix[ 12]; /* "PATCH HERE:" */
short size; /* sizeof( defaultS) */
short global; /* global switches */
short local; /* local switches */
short desk; /* desktop switches */
short isdelay; /* initial scroll delay */
short csdelay; /* continous scroll delay */
short ccdelay; /* continous close delay */
short cfdelay; /* continous full delay */
} defaultS;
- Es ist jetzt nur noch ein Patchversuch pro WINX-Aufruf möglich
- Die verschiedenen Verzögerungswerte können jetzt auch über WINX.INF
eingestellt werden (die Werte im CPX haben aber noch Priorität!):
.DDELAY=arrow1,arrow2,closer,fuller
Beispiel (entspricht der Defaulteinstellung):
.DDELAY=460,40,1000,2000
(alle Werte in ms; die Auflösung des Timers beträgt 20ms).
- Im TOS 1.00-1.04 klappte die Überprüfung, ob einer Applikation ein
Mausklick zugeordnet ist, nicht 100%ig (z.B. wenn der SCRENMGR beim
Scrollen die Kontrolle hatte)
- Das Sichern eines gepatchten TOS 1.00-1.04 führte zu einem bombigen
Ergebnis.
- Nach Fehlermeldungen wartet WINX einen Moment, so da₧ diese lesbar
sind.
13.9.1993: WINX 2.2a BETA
- Der Einbau der appl_getinfo()-Funktion in WINX führte zu Problemen
mit Programmen, die zum einen Userdefs in der Menüzeile benutzen
und zum anderen mit einer älteren TurboC-GEM-Bibliothek gelinkt
wurden (GEMINI 1.21, ...) . Dieser Fehler wird jetzt abgefangen.
- wind_get( WF_WINX) liefert jetzt WF_WINX, falls es die Funktion gibt.
Damit kann man darauf verzichten vorher zu prüfen, ob wind_get()
überhaupt einen gültigen Funktionswert liefert. Ergänzend wurde
das Beispiel für eine has_appl_getinfo()-Funktion geändert.
#define WF_WINX 22360
int has_appl_getinfo( void)
/* Liefert TRUE, falls das AES appl_getinfo() bereitstellt */
{
static int hagi = -1;
int ign;
if (hagi < 0) {
hagi = ((_GemParBlk.global[ 0] >= 0x400) ||
(wind_get( 0, WF_WINX, &ign, &ign, &ign, &ign) == WF_WINX));
};
return( hagi);
} /* has_appl_getinfo */
9.9.1993: WINX 2.1